java Post HashMap作为Android改造Post调用中的Post请求值
这里我想发送一个hashMap作为Post请求数据。 在我的发帖请求中,我必须发送如下数据:
{
"dd98e151-3a57-45f5-b201-e7f5250bce8b": {
"ratingid": "64d2fa13-bf17-4242-9106-c1a722cd1063",
"compid": "dd98e151-3a57-45f5-b201-e7f5250bce8b",
"avgrat": "4.00",
"continue": " ",
"improve": " ",
"ratingindicators": [
{
"internalname": "c1",
"name": "CI 1",
"rating": "4"
},
{
"internalname": "CI 3",
"name": "CI 3 only ",
"feedback": "text"
},
{
"internalname": "I2",
"name": "CI 2",
"rating": "0"
}
]
},
"e6c6d37c-a9e6-491f-9f76-8375cee2096f": {
"ratingid": "64d2fa13-bf17-4242-9106-c1a722cd1063",
"compid": "dd98e151-3a57-45f5-b201-e7f5250bce8b",
"avgrat": "4.00",
"continue": " ",
"improve": " ",
"ratingindicators": [
{
"internalname": "c1",
"name": "CI 1",
"rating": "4"
},
{
"internalname": "CI 3",
"name": "CI 3 only ",
"feedback": "text"
},
{
"internalname": "I2",
"name": "CI 2",
"rating": "0"
}
]
}
}
为了在API调用中发布这些数据,我创建了一个HashMap,比如
地图<;字符串,PostIndicatorModel>>;map=新的HashMap<;字符串,PostIndicatorModel>;();
这里是一个pojo/模型类
PostIndicatorsModel.java
public class FeeddbackPostIndicatorsModel {
@SerializedName("ratingid")
@Expose
private String feedbackratingid;
@SerializedName("compid")
@Expose
private String competencyid;
@SerializedName("avgrat")
@Expose
private String avgrating;
@SerializedName("continue")
@Expose
private String whattocontinue = "";
@SerializedName("improve")
@Expose
private String whattoimprove = "";
@SerializedName("ratingindicators")
@Expose
private List<Ratingindicator> ratingindicators = null;
public String getRatingid() {
return ratingid;
}
public void setRatingid(String ratingid) {
this.ratingid = ratingid;
}
public String getCompid() {
return compid;
}
public void setCompid(String compid) {
this.compid = compid;
}
public String getAvgrat() {
return avgrat;
}
public void setAvgrat(String avgrat) {
this.avgrat = avgrat;
}
public String getContinue() {
return _continue;
}
public void setContinue(String _continue) {
this._continue = _continue;
}
public String getImprove() {
return improve;
}
public void setImprove(String improve) {
this.improve = improve;
}
public List<Ratingindicator> getRatingindicators() {
return ratingindicators;
}
public void setRatingindicators(List<Ratingindicator> ratingindicators) {
this.ratingindicators = ratingindicators;
}
public static class Ratingindicator{
@SerializedName("internalname")
@Expose
private String internalname;
@SerializedName("name")
@Expose
private String name;
@SerializedName("rating")
@Expose
private String rating;
@SerializedName("feedback")
@Expose
private String feedback;
public String getInternalname() {
return internalname;
}
public void setInternalname(String internalname) {
this.internalname = internalname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRating() {
return rating;
}
public void setRating(String rating) {
this.rating = rating;
}
public String getFeedback() {
return feedback;
}
public void setFeedback(String feedback) {
this.feedback = feedback;
}
}
}
请帮助我了解如何使用此HashMap调用post API
Map<String,PostIndicatorsModel>> map=new HashMap<String,PostIndicatorsModel>();
在API调用中
@FormUrlEncoded
@POST(SURL.POST_INDICATORS)
Call<PostIndicatorsModel> postRate360(@Path("rateId") String rateId, @Body Map<String,PostIndicatorsModel> post);
我尝试了@Body、@FeildMap、@QueryMap,但它显示了调用中的错误,或者服务器没有按照要求从post调用中获取数据
请帮助我理解我该如何做到这一点
共 (0) 个答案